import { ChildProcess } from "child_process";
import { Entity } from "../../../../../Core/Module/Entity/Entity";
import { Scene } from "../../../../../Core/Module/Entity/Scene";
import { IAwake } from "../../../../../Core/Module/EventSystem/IAwakeSystem";
import { IDestroy } from "../../../../../Core/Module/EventSystem/IDestroySystem";
import { ComponentOf, ImplementsInterface } from "../../../../../Decorator/Decorator";
import { Dictionary } from "../../../../../Support/Share/Lib/Dictionary";

@ComponentOf(Scene)
@ImplementsInterface(IAwake)
@ImplementsInterface(IDestroy)
export class WatcherComponent extends Entity implements IAwake, IDestroy {

    public static Instance: WatcherComponent;

    public readonly Processes = new Dictionary<number, ChildProcess>();

}